package com.sokal.easycare.modules.ad.entity;

import org.hibernate.validator.constraints.Length;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.sokal.easycare.common.config.Global;
import com.sokal.easycare.common.persistence.DataEntity;

/**
 * 广告Entity
 * 
 * @author liliangdong
 * @version 2017-05-03
 */
public class AdInfoFile extends DataEntity<AdInfoFile> {

	private static final long serialVersionUID = 1L;
	private AdInfo adInfo; // 所属广告 父类
	private String fileName; // 名称
	private String fileUrl; // 路径
	private String fileType; // 文件类型
	private Integer sort; // 排序
	private String isOutLink; // 是否外部链接
	private String linkUrl; // 外部链接url
	private String moduleCode; // 所属模块编号
	private String moduleContentId; // 对应模块内容ID
	private String target; // 链接打开方式

	private String fastdfs_file_url;

	public AdInfoFile() {
		super();
		this.fastdfs_file_url = Global.getConfig("fastdfs_file_url");
	}

	public AdInfoFile(String id) {
		super(id);
	}

	public AdInfoFile(AdInfo adInfo) {
		this.adInfo = adInfo;
	}

	@JsonIgnore
	@Length(min = 0, max = 64, message = "所属广告长度必须介于 0 和 64 之间")
	public AdInfo getAdInfo() {
		return adInfo;
	}

	public void setAdInfo(AdInfo adInfo) {
		this.adInfo = adInfo;
	}

	@Length(min = 0, max = 100, message = "名称长度必须介于 0 和 100 之间")
	public String getFileName() {
		return fileName;
	}

	public void setFileName(String fileName) {
		this.fileName = fileName;
	}

	@Length(min = 0, max = 255, message = "路径长度必须介于 0 和 255 之间")
	public String getFileUrl() {
		return fileUrl;
	}

	public void setFileUrl(String fileUrl) {
		this.fileUrl = fileUrl;
	}

	@Length(min = 0, max = 2, message = "文件类型长度必须介于 0 和 2 之间")
	public String getFileType() {
		return fileType;
	}

	public void setFileType(String fileType) {
		this.fileType = fileType;
	}

	public Integer getSort() {
		return sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	@Length(min = 0, max = 1, message = "是否外部链接长度必须介于 0 和 1 之间")
	public String getIsOutLink() {
		return isOutLink;
	}

	public void setIsOutLink(String isOutLink) {
		this.isOutLink = isOutLink;
	}

	@Length(min = 0, max = 100, message = "外部链接url长度必须介于 0 和 100 之间")
	public String getLinkUrl() {
		return linkUrl;
	}

	public void setLinkUrl(String linkUrl) {
		this.linkUrl = linkUrl;
	}

	@Length(min = 0, max = 100, message = "所属模块编号长度必须介于 0 和 100 之间")
	public String getModuleCode() {
		return moduleCode;
	}

	public void setModuleCode(String moduleCode) {
		this.moduleCode = moduleCode;
	}

	@Length(min = 1, max = 64, message = "对应模块内容ID长度必须介于 1 和 64 之间")
	public String getModuleContentId() {
		return moduleContentId;
	}

	public void setModuleContentId(String moduleContentId) {
		this.moduleContentId = moduleContentId;
	}

	@Length(min = 1, max = 10, message = "链接打开方式长度必须介于 1 和 10 之间")
	public String getTarget() {
		return target;
	}

	public void setTarget(String target) {
		this.target = target;
	}

	public String getFastdfs_file_url() {
		return fastdfs_file_url;
	}

	public void setFastdfs_file_url(String fastdfs_file_url) {
		this.fastdfs_file_url = Global.getConfig("fastdfs_file_url");
	}

}